package com.blueocean_health.care.management.domain.dto;

import java.util.List;

import com.blueocean_health.care.management.em.EnableStatusEnum;
import com.blueocean_health.care.management.em.PublicRoleEnum;
import com.blueocean_health.care.management.em.RoleTypeEnum;

/**
 * 角色模块DTO
 * 
 * @author luxue
 * @date 2018年3月23日 下午2:44:27
 * @version 版本号：1.0
 */
public class RoleDto {

	// 角色id
	private int id;
	// 角色名称
	private String name;
	// 所属组织id
	private int orgId;
	// 所有组织名称
	private String orgName;
	// 类型：1.组织 2.项目
	private String type;
	// 类型名称：1.组织 2.项目
	private String typeName;
	// 拥有权限的ID
	private List<String> permissions;
	// 拥有权限的名称
	private List<String> permissionNames;
	// 逻辑状态 1：通用角色，2：非通用角色
	private int roleType;
	// 逻辑状态 1：通用角色，2：非通用角色
	private String roleTypeName;
	// 创建人
	private int createBy;
	// 状态 1正常，2禁用，3 删除
	private String status;
	private String teamStatus;
	// 状态 1正常，2禁用，3 删除
	private String statusName; 
	// 该角色授权的所有用户
	private List<UserAccountDto> users;
	// 该角色授权的所有用户的名称
	private String names;

	public String getStatusName() {
		return statusName;
	}

	public void setStatusName(String statusName) {
		this.statusName = statusName;
	}

	public String getNames() {
		return names;
	}

	public void setNames(String names) {
		this.names = names;
	}

	public List<UserAccountDto> getUsers() {
		return users;
	}

	public void setUsers(List<UserAccountDto> users) {
		this.users = users;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getOrgId() {
		return orgId;
	}

	public void setOrgId(int orgId) {
		this.orgId = orgId;
	}

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
		setTypeName(RoleTypeEnum.valueOf("_" + getType()).getVal());
	}

	public String getTypeName() {
		return typeName;
	}

	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}

	public List<String> getPermissions() {
		return permissions;
	}

	public void setPermissions(List<String> permissions) {
		this.permissions = permissions;
	}

	public List<String> getPermissionNames() {
		return permissionNames;
	}

	public void setPermissionNames(List<String> permissionNames) {
		this.permissionNames = permissionNames;
	}

	public int getRoleType() {
		return roleType;
	}

	public void setRoleType(int roleType) {
		this.roleType = roleType;
		setRoleTypeName(PublicRoleEnum.valueOf("_" + getRoleType()).getVal());
	}

	public String getRoleTypeName() {
		return roleTypeName;
	}

	public void setRoleTypeName(String roleTypeName) {
		this.roleTypeName = roleTypeName;
	}

	public int getCreateBy() {
		return createBy;
	}

	public void setCreateBy(int createBy) {
		this.createBy = createBy;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
		setStatusName(EnableStatusEnum.valueOf("_" + status).getVal());
	}

	public String getTeamStatus() {
		return teamStatus;
	}

	public void setTeamStatus(String teamStatus) {
		this.teamStatus = teamStatus;
	}
	
	

}
